home *** CD-ROM | disk | FTP | other *** search
- /* MausConv
- *
- * Ein Konvertierer zwischen IBM- und Amiga-Umlauten, mit besonderer
- * Berücksichtigung der Maus-Eigenheiten
- */
-
- #include "MausConv.h"
-
- Prototype int main (int, char **);
-
- int main (int argc, char **argv)
- {
- unsigned char *neu; //Tabelle der zu ersetzenden Buchstaben
- //FILE *in; //Eingabefile
- //FILE *out; //Ausgabefile
- BPTR in; //Eingabefile
- BPTR out; //Ausgabefile
- unsigned char *buffer; //Puffer
- long i; //Zähler
- long j; //Zähler
-
- if ((argc != 4) ||
- ((stricmp (argv[3],"maus2ami") != 0) &&
- (stricmp (argv[3],"ami2maus") != 0)))
- {
- //printf ("\n%s\n\n", VERSTAG+7);
- //printf ("Aufruf: %s <Eingabedatei> <Ausgabedatei> maus2ami\n", argv[0]);
- //printf (" oder: %s <Eingabedatei> <Ausgabedatei> ami2maus\n", argv[0]);
- Printf ("\n%s\n\n", VERSTAG+7);
- Printf ("Aufruf: %s <Eingabedatei> <Ausgabedatei> maus2ami\n", argv[0]);
- Printf (" oder: %s <Eingabedatei> <Ausgabedatei> ami2maus\n", argv[0]);
- exit(RETURN_ERROR);
- }
-
- if (stricmp (argv[3],"maus2ami") == 0)
- neu = m2a;
- else
- neu = a2m;
-
- //if ((in = fopen (argv[1], "rb")) == NULL)
- if ((in = Open(argv[1], MODE_OLDFILE)) == (BPTR)NULL)
- {
- //printf ("%s: Kann Eingabefile \"%s\" nicht öffnen!\n", argv[0], argv[1]);
- Printf ("%s: Kann Eingabefile \"%s\" nicht öffnen!\n", argv[0], argv[1]);
- exit(RETURN_ERROR);
- }
- //if ((out = fopen (argv[2], "wb")) == NULL)
- if ((out = Open(argv[2], MODE_NEWFILE)) == NULL)
- {
- //printf ("%s: Kann Ausgabefile \"%s\" nicht öffnen!\n", argv[0], argv[2]);
- Printf ("%s: Kann Ausgabefile \"%s\" nicht öffnen!\n", argv[0], argv[2]);
- //fclose(in);
- Close(in);
- exit(RETURN_ERROR);
- }
-
- if ((buffer = (char *)malloc(SIZE)) == NULL)
- // Die Verwendung von AllocMem macht das Programm größer!
- //if ((buffer = (char *)AllocMem(SIZE,0L)) == NULL)
- {
- //printf ("%s: Kein Speicher!\n", argv[0]);
- Printf ("%s: Kein Speicher!\n", argv[0]);
- //fclose(in);
- //fclose(out);
- Close(in);
- Close(out);
- exit(RETURN_ERROR);
- }
-
- do
- {
- //i = fread (buffer, 1, SIZE, in);
- i = Read (in, buffer, SIZE);
- //printf("i=%d\n",i);
- for (j=0; j<i; j++)
- {
- //printf("buffer[%d]: %d (%c) -> ",j,buffer[j],buffer[j]);
- buffer[j] = neu[buffer[j]];
- //printf("%d (%c)\n",buffer[j],buffer[j]);
- }
- //j = fwrite (buffer, 1, i, out);
- j = Write (out, buffer, i);
- if (j != i)
- {
- //printf ("%s: Write Error!\n", argv[0]);
- Printf ("%s: Write Error!\n", argv[0]);
- //fclose(in);
- //fclose(out);
- free(buffer);
- Close(in);
- Close(out);
- //FreeMem(buffer,SIZE);
- exit(RETURN_ERROR);
- }
- }
- while (i);
-
- //fclose(in);
- //fclose(out);
- free(buffer);
- Close(in);
- Close(out);
- //FreeMem(buffer,SIZE);
- exit(RETURN_OK);
- }
-